﻿/*
求等差数列的和 
Time Limit:1000MS  Memory Limit:32768K


Description:
有一些整数组，每三个整数为一组，分别表示等差数列的起始位置、终止位置和公差，求每组数列的和。如果三个整数都为0，表示输入结束。

Sample Input:
5 100 5
1 5 1
1 10 1
0 0 0
Sample Output:
1050
15
55

*/
#include <stdio.h>

int main(int argc, char* argv[])
{
	int s, e, d;
	while ((EOF!=scanf("%d%d%d", &s, &e, &d))&& (s|e|d))
	{
		int n=(e-s)/d+1;
		int sum;
		if(n&0x1)
			sum=((e+s)>>1)*n;
		else
			sum=(n>>1)*(e+s);
		printf("%d\n", sum);
			
	}

	return 0;
}